In digital circuits, such as CMOS digital circuits, switching elements are driven synchronously, and thus a power supply current is instantaneous and proportional to the number of transitions of the switching elements happening at the given moment. Therefore, the power supply current is highly dependent upon the digital data pattern (digital code) of the input signal. This instantaneous power supply current together with finite resistance and inductance of the power supply route causes voltage fluctuations on the power supply delivered to the CMOS digital circuits.
FIG. 1 schematically illustrates such a switching noise in a mixed-signal circuit, for example, a digital-to-analog converter (DAC). In a mixed-signal circuit, switching operation in digital circuitry 10 causes data pattern dependent noise 14 on the power supply which may couple to the analog circuitry 12 (and its analog signals) via a digital-to-analog interface 16. For example, such a digital-to-analog interface 16 includes switch drivers of a DAC. Since the coupled noise 18 is dependent on a specific data pattern of the input digital data, it causes non-linear noise in the analog circuits. This means that the noise on the analog signal is neither constant, nor linear or correlated to the analog signal itself, but varies depending upon the data pattern of the digital data input to the digital interface. Such a non-linear noise is hard to reduce or control.
For example, such a pattern-dependent switching noise generated in the driver current supplies will cause the effective switching point to be modulated with the input data pattern. FIG. 2A schematically illustrates a conventional digital-to-analog interface 21 including an encoder 23, a driver circuit (switch drivers) 25, and a DAC switch array 27. A digital signal from the digital source 21 is supplied to the driver circuit 25 through the encoder 23. FIG. 2B schematically illustrates an example of the switch array 27 of a segmented current steering DAC having thermometer-coded upper 7 bits (MSB) and binary coded lower 5 bits (LSB). As shown in FIG. 2B, the switch array 27 includes 132 switches (SW). The first 5 switches (LSB: 1 to 5) are for the binary code and thus are coupled to the binary-weighted current sources (I to 16I). The remaining 127 switches are for the thermometer code (MSB: 7 to 132) and thus coupled to the identical current sources (32I). The corresponding output of the switch driver 25 drives each switch so as to steer the corresponding current source outputs to one DAC output (Vout) or its complementary.
Typically, a switch driver includes a latch (and a buffer) to synchronize all of the switch driver output signals. When a latch in the switch driver changes its state, the corresponding switch in the DAC array is driven. When the latches synchronously change their states in accordance with input digital data, such transition causes noise in the switch driver power supplies 31, which modulates the effective crossing point (switching point) of the switch driver output signals. For example, as shown in FIG. 2C, the switching point 11 for sampling data when only one (or few) of the latches change the state and the switching point 13 when all (or most) of the latches change the state may be different. Such a shift or modulation in the effective switching point in switch drivers in turn results in pattern-dependent jitter in the output analog signal, and degrades the dynamic performance of the DAC.
Applicants realized that such an undesirable non-linear nature of the noise on the analog signal can be avoided by making the switching noise data pattern-independent by ensuing a constant switching activity in the digital circuitry. Such a constant switching activity will result in an offset or regular noise tones, which may be tolerated in most of the applications. One solution is to double the digital hardware and provide an extra switching element for each switching element that is normally used in the interface. The extra switching element is activated every time the corresponding original switching element is idle (i.e., not switching) so as to generate the same number of transitions regardless of the input data pattern. However, while this “brute force” solution can ensure constant switching activity, it doubles the interface circuitry and may increase the power consumption several times. In addition, this solution may also generate stronger regular tones.
Accordingly, it would be desirable to provide a switching noise control in a more hardware and power efficient manner.